package test_channel

var engins = []string{
	"百度",
	"搜狗",
	"google",
}

// 模拟同时三个搜索引擎搜索通用的关键词，返回最先搜到的数据
func firstResponse() string {
	ch := make(chan string, 1)

	for _, v := range engins {
		go func(engin string, keyWord string) {
			// http req
			//res,err:= http.Get("")
			var res string
			var err error

			if err != nil {
				ch <- res
			}
		}(v, "zhu")
	}

	return <-ch
}

// 模拟所有的任务都完成才返回
func allResponse() {
	ch := make(chan string, 1)

	for _, v := range engins {
		go func(engin string, keyWord string) {
			// http req
			//res,err:= http.Get("")
			var res string
			var err error

			if err != nil {
				ch <- res
			}
		}(v, "zhu")
	}

	for {
		<-ch // 阻塞等待完成
	}
}
